home *** CD-ROM | disk | FTP | other *** search
/ Java Primer Plus / Java Primer Plus (Waite Group Proess)(1996).iso / chapter13 / DoubleBuff.class (.txt) < prev    next >
Encoding:
Java Class File  |  1995-12-31  |  2.0 KB  |  52 lines

  1. import java.awt.Color;
  2. import java.awt.Component;
  3. import java.awt.Graphics;
  4. import java.awt.Image;
  5.  
  6. public class DoubleBuff extends SingleBuff implements Runnable {
  7.    Graphics dbuffer;
  8.    Image offscreen;
  9.  
  10.    public void init() {
  11.       super.AppBorder = ((Component)this).bounds();
  12.       super.XRES = super.AppBorder.width;
  13.       super.YRES = super.AppBorder.height;
  14.       super.x = super.XRES / 2 - super.w / 2;
  15.       this.offscreen = ((Component)this).createImage(super.XRES, super.YRES);
  16.       this.dbuffer = this.offscreen.getGraphics();
  17.       this.dbuffer.setColor(Color.lightGray);
  18.       this.dbuffer.fillRect(0, 0, super.XRES, super.YRES);
  19.    }
  20.  
  21.    public void paint(Graphics var1) {
  22.       this.dbuffer.setColor(Color.lightGray);
  23.       this.dbuffer.fillRect(super.x, super.oldy, super.w + 1, super.h + 1);
  24.       super.oldy = super.y;
  25.  
  26.       for(int var2 = 0; var2 < super.XRES; var2 += super.gw) {
  27.          this.dbuffer.setColor(Color.gray);
  28.          this.dbuffer.drawLine(var2, 0, var2, super.YRES);
  29.          this.dbuffer.drawLine(0, var2, super.XRES, var2);
  30.          this.dbuffer.setColor(Color.yellow);
  31.          this.dbuffer.drawLine(var2, 0, 0, var2);
  32.          this.dbuffer.setColor(Color.blue);
  33.          this.dbuffer.drawLine(super.XRES - var2, 0, super.XRES, var2);
  34.       }
  35.  
  36.       this.dbuffer.setColor(Color.lightGray);
  37.       this.dbuffer.fillRect(0, 0, 100, 20);
  38.       this.dbuffer.setColor(Color.red);
  39.       this.dbuffer.drawString(super.XRES + " " + super.YRES, 0, 10);
  40.       this.dbuffer.fillRect(super.x, super.y, super.w, super.h);
  41.       this.dbuffer.setColor(Color.blue);
  42.       int var3 = 0;
  43.  
  44.       for(int var4 = super.h; var4 > 0; var4 -= 8) {
  45.          this.dbuffer.drawOval(super.x + var3, super.y + var3, var4, var4);
  46.          var3 += 4;
  47.       }
  48.  
  49.       var1.drawImage(this.offscreen, 0, 0, this);
  50.    }
  51. }
  52.